package com.base;

import java.util.List;

/**
 * @项目名称：dream-common
 * @类名称：BaseService
 * @类描述： 基础service
 * @创建人：YangChao
 * @联系方式：18629233301@163.com
 * @创建时间：2017年2月27日 下午1:20:23
 * @version 1.0.0
 */
public interface BaseService<T> {

	/**
	 * 
	 * @Title: saveOrUpdate
	 * @Description: 更新和保存对象
	 * @param t对应实体对象
	 * @throws Exception
	 * @author YangChao
	 * @date 2017年2月27日 下午2:43:32
	 */
	public void saveOrUpdate(T t) throws Exception;

	/**
	 * 
	 * @Title: removeById
	 * @Description: 根据主键删除操作
	 * @param id主键id
	 * @throws Exception
	 * @author YangChao
	 * @date 2017年2月27日 下午2:45:35
	 */
	public void removeById(final Integer id) throws Exception;

	/**
	 * 
	 * @Title: findById
	 * @Description: 主键查找
	 * @param id主键id
	 * @return
	 * @throws Exception
	 * @author YangChao
	 * @date 2017年2月27日 下午2:46:03
	 */
	public T findById(final Integer id) throws Exception;

	/**
	 * 
	 * @Title: find
	 * @Description: 查询列表操作
	 * @param t对应实体对象
	 * @return
	 * @throws Exception
	 * @author YangChao
	 * @date 2017年2月27日 下午2:46:24
	 */
	public List<T> find(T t) throws Exception;

	/**
	 * 
	 * @Title: getCount
	 * @Description: 查询数量
	 * @param t查询条件
	 * @return
	 * @throws Exception
	 * @author YangChao
	 * @date 2017年2月28日 下午3:47:33
	 */
	public int getCount(T t) throws Exception;

}
